﻿using mpu = Microsoft.Practices.Unity;

namespace UnityConfiguration.Infrastructure
{
    /// <summary>
    /// Base class for elements that control which members are injected.
    /// </summary>
    public abstract class InjectionMember : TypeResolvingObject
    {
        private string _Name;
        
        /// <summary>
        /// Name of the element.
        /// </summary>
        public virtual string Name {
            get { return _Name; }
            set { _Name = value; }
        }

        /// <summary>
        /// Return the InjectionMember object represented by this configuration
        /// element.
        /// </summary>
        /// <returns>The injection member object.</returns>
        public virtual mpu.InjectionMember CreateInjectionMember() {
            return null;
        }

    }
}
